package com.hello.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hello.common.core.annotation.Excel;
import com.hello.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 测试视频管理对象 fish_test_video
 * 
 * @author hello
 * @date 2025-08-15
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class FishTestVideo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 视频ID */
    private Long videoId;

    /** 视频名称 */
    @Excel(name = "视频名称")
    private String videoName;

    /** 视频URL地址(支持本地路径/网络URL/RTMP流) */
    @Excel(name = "视频URL地址(支持本地路径/网络URL/RTMP流)")
    private String videoUrl;

    /** 视频类型(url=网络视频/local=本地文件/rtmp=实时流/loop=循环视频) */
    @Excel(name = "视频类型(url=网络视频/local=本地文件/rtmp=实时流/loop=循环视频)")
    private String videoType;

    /** 视频时长(秒)，实时流为空 */
    @Excel(name = "视频时长(秒)，实时流为空")
    private Long videoDuration;

    /** 视频状态(active=可用/inactive=不可用/testing=测试中) */
    @Excel(name = "视频状态(active=可用/inactive=不可用/testing=测试中)")
    private String videoStatus;

    /** 视频描述 */
    @Excel(name = "视频描述")
    private String videoDescription;

    public void setVideoId(Long videoId) 
    {
        this.videoId = videoId;
    }

    public Long getVideoId() 
    {
        return videoId;
    }
    public void setVideoName(String videoName) 
    {
        this.videoName = videoName;
    }

    public String getVideoName() 
    {
        return videoName;
    }
    public void setVideoUrl(String videoUrl) 
    {
        this.videoUrl = videoUrl;
    }

    public String getVideoUrl() 
    {
        return videoUrl;
    }
    public void setVideoType(String videoType) 
    {
        this.videoType = videoType;
    }

    public String getVideoType() 
    {
        return videoType;
    }
    public void setVideoDuration(Long videoDuration) 
    {
        this.videoDuration = videoDuration;
    }

    public Long getVideoDuration() 
    {
        return videoDuration;
    }
    public void setVideoStatus(String videoStatus) 
    {
        this.videoStatus = videoStatus;
    }

    public String getVideoStatus() 
    {
        return videoStatus;
    }
    public void setVideoDescription(String videoDescription) 
    {
        this.videoDescription = videoDescription;
    }

    public String getVideoDescription() 
    {
        return videoDescription;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("videoId", getVideoId())
            .append("videoName", getVideoName())
            .append("videoUrl", getVideoUrl())
            .append("videoType", getVideoType())
            .append("videoDuration", getVideoDuration())
            .append("videoStatus", getVideoStatus())
            .append("videoDescription", getVideoDescription())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
